<template>
	<view>
		<view v-for="(item, index) in lists" :key="index">
			<view class="find-squareitem shadow-box" @click="openDetail(item)">
				<view class="find-squareitem-header u-flex">
					<view class="find-squareitem-header-img">
						<image :src="item.userinfo.avatar || 'https://picx.zhimg.com/v2-454fe8ff94db42421f409968a6f4e780_l.jpg?source=5a24d060'" mode=""></image>
					</view>
					<view class="find-squareitem-header-user u-col-center">
						<view class="find-squareitem-header-user-top u-flex">
							<view class="find-squareitem-header-user-top-name">
								{{ item.userinfo.nickname }}
							</view>
							<image :src="item.userinfo.gender ? 'https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/boy.png' : 'https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/girl.png'"
								style="width: 36rpx;height: 28rpx;margin-left: 8rpx;" mode=""></image>
							<view class="find-squareitem-header-user-top-help" v-if="itemType == 5">
								求助
							</view>
							<view class="find-squareitem-header-user-top-candy u-flex" v-if="itemType == 5">
								<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/candy.png" mode=""></image>
								50
							</view>
						</view>
						<view class="find-squareitem-header-user-down u-flex" v-if="itemType != 6">
							<text v-show="item.userinfo.year">{{ item.userinfo.year }}年</text> <text
								v-show="item.userinfo.education">· {{ item.userinfo.education }}</text> <text
								v-show="item.userinfo.job">· {{ item.userinfo.job }}</text>
							<text v-show="item.userinfo.now_home">· {{ item.userinfo.now_home }}</text>
						</view>
					</view>
					<view class="find-squareitem-header-more"
						@click.stop="trend = item.id, reportShow = true, uuid = item.uuid">
						<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/more.png" style="width: 48rpx;height: 48rpx;" mode=""></image>
					</view>
				</view>
				<view :class="['find-squareitem-main u-flex ', types == 'subjectTalk' ? 'color2e3033' : '']">
					<view class="conents">
						{{ item.content.content }}
					</view>
					<view
						:class="['find-squareitem-main-images', item.content && item.content.images && item.content.images.length != 0 && item.content.images.length > 1 ? 'img1' : 'img2']">
						<image :src="imgs" v-for="(imgs, index) in item.content.images" :key="index"
							:mode="item.content && item.content.images && item.content.images.length != 0 && item.content.images.length > 1 ? 'aspectFill' : 'widthFix'"
							style="display: block;">
						</image>
					</view>
					<view class="find-squareitem-main-tags u-flex" v-if="item.content.subject_talk">
						<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/find/tags.png" mode=""></image>
						<view class="">
							{{ types == 'subjectTalk' ? item.content.subject_talk : item.content.subject_talk[0].title }}
						</view>
					</view>
				</view>
				<view class="find-squareitem-footer">
					<view class="find-squareitem-footer-time" v-show="item.updated_at">
						{{ item.updated_at }}
					</view>
					<view class="find-squareitem-footer-main  u-flex u-row-between">
						<view class="find-squareitem-footer-main-share u-flex">
							<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/share.png" mode=""></image>
							分享
						</view>
						<view class=" u-flex">
							<view class="find-squareitem-footer-main-like u-flex" @click.stop="setLike(item)">
								<image
									:src="item.is_help == 1 ? 'https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/like-act.png' : 'https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/like.png'"
									mode=""></image>{{ item.help_count || 0 }}
							</view>
							<view class="find-squareitem-footer-main-chat u-flex">
								<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/chat.png" mode=""></image>{{ item.comment_count || 0 }}
							</view>
						</view>
					</view>
				</view>
				<view class="find-squareitem-talk" v-if="item.comment && item.comment.length != 0">
					<view class="find-squareitem-talk-item u-flex" v-for="(e, i) in item.comment" :key="i">
						<view class="find-squareitem-talk-item-user">
							{{ e.userInfo.nickname }}：
						</view>
						<view class="find-squareitem-talk-item-content">
							{{ e.content }}
						</view>
					</view>
					<view class="find-squareitem-talk-more">
						查看更多 >
					</view>
				</view>
				<view class="get-candy" v-if="itemType == 4">
					<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/find/get-candy.png" style="width: 128rpx;height: 112rpx;" mode=""></image>
				</view>
			</view>
			<!-- message -->
			<view class="index-message" v-show="index == 0 && itemType == 2">
				<image class="index-message-back" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/messageback.png" mode=""></image>
				<view class="index-message-con">
					<image class="index-message-icon" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/messages.png" mode=""></image>
					<view class="index-message-center">
						今天是情人节，记得给TA送礼物！
					</view>
				</view>
			</view>
		</view>
		<!-- 举报动态 -->
		<u-popup v-model="reportShow" mode="bottom" border-radius="20">
			<view class="reportPopup" v-if="uuid == info.id">
				<view class="reportItem" @click="reportFun(4)">
					删除该动态
				</view>
			</view>
			<view class="reportPopup" v-else>
				<view class="reportItem" @click="reportFun(1)">
					举报该动态
				</view>
				<view class="reportItem" @click="reportFun(2)">
					不看TA的动态
				</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
export default {
	// 组件名称
	name: 'demo',
	// 组件参数 接收来自父组件的数据
	props: {
		itemType: 0, //3喜糖  4求助  5匿名
		lists: {
			type: Array,
			default: []
		},
		types: {
			type: String, // find 发现 / subjectTalk 话题
			default: 'find'
		}
	},
	// 局部注册的组件,import引入的组件需要注入到对象中才能使用
	components: {},
	// 组件状态值
	data() {
		return {
			reportShow: false, // 举报的弹窗
			trend: '', // 动态id
			uuid: '', // uuid
			info: {}
		}
	},
	// 计算属性
	computed: {},
	// 侦听器
	watch: {},
	// 组件方法
	methods: {
		// 跳转详情页
		openDetail(item) {
			// console.log(item, 'asdljk')
			this.$Router.push({
				path: '/pages/find/find-trendsdetail?id=' + item.id + '&created_at=' + item.created_at
			})
		},
		// 设置点赞动态
		setLike(item) {
			// console.log(item)
			this.$http('find.helpTrends', {
				id: item.id
			}).then(res => {
				console.log(res)
				this.$set(item, 'is_help', item.is_help == 1 ? 0 : 1)
				this.$set(item, 'help_count', item.is_help == 0 ? item.help_count - 1 : item.help_count + 1)
				this.$utils.toast(res.info)
			})
		},
		// 举报
		reportFun(type) {
			this.$Router.push({ path: '/pages/find/find-report?type=' + type + '&id=' + this.trend })
		},
		// 获取用户信息
		getInfo() {
			this.$http('user.info').then(res => {
				console.log(res)
				this.info = res.data
			})
		}
	},
	// 以下是生命周期钩子   注：没用到的钩子请自行删除
	/**
	 * 在实例初始化之后，组件属性计算之前，如data属性等
	 */
	beforeCreate() { },
	/**
	 * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
	 */
	created() {
		this.getInfo()
	},
	/**
	 * 在挂载开始之前被调用：相关的 render 函数首次被调用。
	 */
	beforeMount() { },
	/**
	 * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
	 * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
	 */
	mounted() { },
	/**
	 * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
	 * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
	 */
	beforeUpdate() { },
	/**
	 * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
	 * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
	 */
	updated() { },
	/**
	 * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
	 */
	activated() { },
	/**
	 * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
	 */
	deactivated() { },
	/**
	 * 实例销毁之前调用。在这一步，实例仍然完全可用。
	 */
	beforeDestroy() { },
	/**
	 * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
	 * 所有的事件监听器会被移除，所有的子实例也会被销毁。
	 */
	destroyed() { }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<style scoped lang="scss">
.find-squareitem {
	padding: 32rpx;
	margin-bottom: 32rpx;
	background: #fff;
	box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(70, 69, 82, 0.04);
	position: relative;

	&-header {
		position: relative;

		&-img {
			image {
				width: 76rpx;
				height: 76rpx;
				border-radius: 50%;
			}
		}

		&-user {
			margin-left: 20rpx;

			&-top {
				&-name {
					font-size: 28rpx;
					font-family: PingFang SC-Bold, PingFang SC;
					font-weight: bold;
					color: #2E3033;
				}

				&-help {
					width: 72rpx;
					height: 32rpx;
					background: #FFF0F3;
					border-radius: 16rpx;
					font-size: 20rpx;
					font-family: PingFang SC-Medium, PingFang SC;
					color: #80333F;
					text-align: center;
					margin: 0 12rpx;
				}

				&-candy {

					height: 32rpx;
					background: #FFF0F2;
					border-radius: 16rpx;
					font-size: 20rpx;
					font-family: PingFang SC-Medium, PingFang SC;
					color: #80333F;
					padding: 0 16rpx;

					image {
						width: 20rpx;
						height: 20rpx;
					}
				}
			}

			&-down {
				font-size: 24rpx;
				font-family: PingFang SC-Medium, PingFang SC;
				font-weight: 500;
				color: #737980;

				text {
					margin-left: 6rpx;
				}

				text:first-child {
					margin-left: 0;
				}
			}

		}

		&-more {
			position: absolute;
			right: 0;
		}
	}

	.color2e3033 {
		// font-size: 28rpx;
		// font-weight: 400;
		color: #2E3033;
	}

	&-main {
		margin: 20rpx 0;
		flex-direction: column;
		align-items: flex-start;

		.conents {
			margin-bottom: 20rpx;
		}

		&-images {


			image {
				width: 200rpx;
				height: 200rpx;
				margin-right: 10rpx;
				border-radius: 16rpx;
				margin-bottom: 10rpx;
			}

			image:nth-child(3n) {
				margin-right: 0;
			}
		}

		.img1 {
			display: flex;
			flex-wrap: wrap;
		}

		.img2 {}


		&-tags {
			// min-width: 160rpx;
			height: 48rpx;
			background: #F1F6FF;
			border-radius: 31rpx;
			font-size: 24rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			font-weight: 500;
			color: #0085FF;
			padding: 0 16rpx;
			margin-top: 32rpx;

			image {
				margin-top: 0;
				width: 28rpx;
				height: 28rpx;
				margin-right: 4rpx;
			}
		}
	}

	&-footer {
		&-time {
			margin-bottom: 20rpx;
			font-size: 24rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			font-weight: 500;
			color: #737980;
		}

		&-main {
			width: 100%;
			font-size: 28rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			font-weight: 400;
			color: #737980;

			image {
				width: 40rpx;
				height: 40rpx;
				display: block;
				margin-right: 8rpx;
			}

			&-chat {
				margin-left: 60rpx;
			}
		}
	}

	&-talk {
		background: #F8F9FE;
		margin-top: 32rpx;
		border-radius: 16rpx;
		padding: 32rpx;

		&-item {
			margin: 0 0 16rpx;

			&-user {
				font-size: 24rpx;
				font-family: PingFang SC-Medium, PingFang SC;
				font-weight: 500;
				color: #0085FF;
			}

			&-content {
				font-size: 24rpx;
				font-family: PingFang SC-Medium, PingFang SC;
				font-weight: 500;
				color: #2E3033;
			}
		}

		&-more {
			font-size: 24rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			font-weight: 500;
			color: #0085FF;
		}
	}

	.get-candy {
		position: absolute;
		right: 32rpx;
		bottom: 40%;
	}
}

.index-message {
	width: 100%;
	height: 80rpx;
	position: relative;
	margin-bottom: 32rpx;

	&-back {
		width: 100%;
		height: 100%;
	}

	&-con {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
		align-items: center;
		padding: 0 32rpx;
	}

	&-icon {
		width: 40rpx;
		height: 40rpx;
	}

	&-center {
		flex: 1;
		text-align: center;
		font-size: 28rpx;
		font-family: PingFang SC, PingFang SC;
		font-weight: 400;
		color: #FFFCE5;
	}
}
</style>
